{$CLEO .cs}
{$USE CLEO+}
{$USE newOpcodes}
{$USE ini}

0000: NOP

script_name "Ammunition Seller"

// By ArtemQa146

if
    0AA2: 31@ = load_dynamic_library "CLEO+.cleo"
then
    if
        0AA4: 30@ = get_dynamic_library_procedure "GetCleoPlusVersion" library 31@
    then
        0AA7: call_function_return 30@ num_params 0 pop 0 29@
        if
            not 29@ >= 0x1020000
        then
            0AD1: show_formatted_text_highpriority "Cleo+ 1.2.0 (or higher) version is required, the Ammunation Seller - Alternative is disabled" time 15000
            0AA3: free_dynamic_library 31@
            0A93: terminate_this_custom_script
        end
        0AA3: free_dynamic_library 31@
    end
else
    0AD1: show_formatted_text_highpriority "Cleo+ 1.2.0 (or higher) version is required, the Ammunation Seller - Alternative is disabled" time 15000
    0AA3: free_dynamic_library 31@
    0A93: terminate_this_custom_script
end

const
    Weapon_show = 31@ //    /   
    Process = 8@ //   
    Bit_settings = 29@ //   .ini
    
    //  
    COlt45 = 10@
    Silenced = 11@
    Deagle = 12@
    Micro_UZ = 13@
    Tec9 = 14@
    MP5 = 15@
    Chromegun = 16@
    SawnOff = 17@
    Spas = 18@
    Rifle = 19@
    Sniper = 20@
    AK47 = 21@
    M4 = 22@
    Armor = 23@
    Grenade = 24@
    Satchel = 25@
    
    Background = 30@ //  /.     
    
    //  Z    
    Position_Z_1 = 0.55
    Position_Z_2 = 0.05
    Position_Z_3 = -0.45
    
    //       
    Move_Weapon = 7@ //
    Move_Weapon_Step = 60
    Move_Weapon_Step_2 = 120
end

//       
08C3: clear Bit_settings bit 1
0AF0: 0@ = read_int_from_ini_file "cleo\Ammunition Seller.ini" section "Settings" key "Draw text"
if 0@ == 1
then 08BD: set Bit_settings bit 1
end

08C3: clear Bit_settings bit 2
0AF0: 0@ = read_int_from_ini_file "cleo\Ammunition Seller.ini" section "Settings" key "Mode"
if 0@ == 1
then 08BD: set Bit_settings bit 2
end

//          .
// $AMMU_SELECTED_WEAPON_MODEL -     
// $AMMU_STAGE - 2 -  , 4 -           ,
//                                  5 -   , 6 - , 7 -     
// $AMMU_SELLER_ANIMATION_TIME -  ,   
// $9633 -  .     id     .
//                                    ,    col45,   $9633 == 22

while true
wait 0
    if
        player.Defined(0)
    then
        if
            $AMMU_STAGE == 4 //     ,    
        then
        016A: fade 0 time 0 //  

        if
            08B7:   test Bit_settings bit 2
        then
        
            repeat
            wait 0
            until $AMMU_STAGE == 5 //   
            
            0A92: stream_custom_script "Ammunition Seller 2.qa"
            wait 1000
            
            repeat
            wait 0
            0AAA: 1@ = get_script_struct_named "Ammsqa2"
            until 1@ == 0
            continue
            
        end
        
        repeat
        wait 0
        until $AMMU_STAGE == 5 //   
        
        //      
        0ADF: add_text_label "PORQA" text "$~1~"
        model.Load(346)
        model.Load(347)
        model.Load(348)
        model.Load(372)
        model.Load(352)
        model.Load(349)
        model.Load(350)
        model.Load(351)
        model.Load(342)
        model.Load(363)
        model.Load(1242)
        model.Load(353)
        model.Load(357)
        model.Load(358)
        model.Load(355)
        model.Load(356)
        model.Load(18045)
        model.Load(18048)
        model.Load(18062)
        model.Load(18044)
        model.Load(2358)
        038B: load_requested_models
        04C4: store_coords_to 4@ 5@ 6@ from_actor $player_actor with_offset 0.0 10.0 10.0
        04C4: store_coords_to 1@ 2@ 3@ from_actor $player_actor with_offset 3.0 -4.0 10.0
        0E01: create_object_no_save 18045 at 1@ 2@ 3@ offset 0 ground 0 to Background //  
        0382: set_object Background collision_detection 0
        04C4: store_coords_to 1@ 2@ 3@ from_actor $player_actor with_offset 0.0 5.0 10.0
        0E27: get_angle_from_two_coords 4@ 5@ and 1@ 2@ to 6@
        6@ += 180.0
        0177: set_object Background Z_angle_to 6@
        6@ += 90.0
        
        //   
        0F03: create_render_object_to_object Background model 18048 offset 5.85 1.53 -2.5 rotation 0.0 0.0 270.0 store_to 0@ //   
        0E37: set_render_object_scale 0@ 0.58 0.58 0.58

        0F03: create_render_object_to_object Background model 18062 offset -3.0 0.4 -2.6 rotation 0.0 0.0 180.0 store_to 0@ //  
        0E37: set_render_object_scale 0@ 1.0 1.0 1.0

        0F03: create_render_object_to_object Background model 18062 offset -5.0 1.0 0.1 rotation 0.0 0.0 180.0 store_to 0@ //  
        0E37: set_render_object_scale 0@ 1.0 1.0 1.0

        0F03: create_render_object_to_object Background model 18044 offset 4.0 4.8 -0.1 rotation 0.0 0.0 220.0 store_to 0@ //  
        0E37: set_render_object_scale 0@ 1.0 1.0 1.0
        
        0F03: create_render_object_to_object Background model 18062 offset -2.2 -5.2 0.1 rotation 0.0 0.0 180.0 store_to 0@ //  
        0E37: set_render_object_scale 0@ 1.0 1.0 1.0
        
        0F03: create_render_object_to_object Background model 2358 offset -5.4 -5.0 -0.9 rotation 0.0 0.0 180.0 store_to 0@ // 
        0F03: create_render_object_to_object Background model 2358 offset -5.4 -5.0 -0.7 rotation 0.0 0.0 180.0 store_to 0@ // 
        0F03: create_render_object_to_object Background model 2358 offset -4.4 -5.0 -0.9 rotation 0.0 0.0 180.0 store_to 0@ // 
        
        // 
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 7.3 4.4 Position_Z_1
        0E01: create_object_no_save 346 at 1@ 2@ 3@ offset 0 ground 0 to COlt45
        0177: set_object COlt45 Z_angle_to 6@
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 7.3 4.4 Position_Z_2
        0E01: create_object_no_save 347 at 1@ 2@ 3@ offset 0 ground 0 to Silenced
        0177: set_object Silenced Z_angle_to 6@
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 7.3 4.4 Position_Z_3
        0E01: create_object_no_save 348 at 1@ 2@ 3@ offset 0 ground 0 to Deagle
        0177: set_object Deagle Z_angle_to 6@
        
        // 
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 7.3 3.55 Position_Z_1
        0E01: create_object_no_save 352 at 1@ 2@ 3@ offset 0 ground 0 to Micro_UZ
        0177: set_object Micro_UZ Z_angle_to 6@
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 7.3 3.55 Position_Z_2
        0E01: create_object_no_save 372 at 1@ 2@ 3@ offset 0 ground 0 to Tec9
        0177: set_object Tec9 Z_angle_to 6@
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 7.3 3.55 Position_Z_3
        0E01: create_object_no_save 353 at 1@ 2@ 3@ offset 0 ground 0 to MP5
        0177: set_object MP5 Z_angle_to 6@
        
        // 
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 7.3 2.6 Position_Z_1
        0E01: create_object_no_save 349 at 1@ 2@ 3@ offset 0 ground 0 to Chromegun
        0177: set_object Chromegun Z_angle_to 6@
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 7.3 2.6 Position_Z_2
        0E01: create_object_no_save 350 at 1@ 2@ 3@ offset 0 ground 0 to SawnOff
        0177: set_object SawnOff Z_angle_to 6@
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 7.3 2.6 Position_Z_3
        0E01: create_object_no_save 351 at 1@ 2@ 3@ offset 0 ground 0 to Spas
        0177: set_object Spas Z_angle_to 6@
        
        // 
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 7.3 1.5 Position_Z_1
        0E01: create_object_no_save 357 at 1@ 2@ 3@ offset 0 ground 0 to Rifle
        0177: set_object Rifle Z_angle_to 6@
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 7.3 1.5 Position_Z_2
        0E01: create_object_no_save 358 at 1@ 2@ 3@ offset 0 ground 0 to Sniper
        0177: set_object Sniper Z_angle_to 6@
        
        //  
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 7.3 0.5 Position_Z_1
        0E01: create_object_no_save 355 at 1@ 2@ 3@ offset 0 ground 0 to AK47
        0177: set_object AK47 Z_angle_to 6@
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 7.3 0.5 Position_Z_2
        0E01: create_object_no_save 356 at 1@ 2@ 3@ offset 0 ground 0 to m4
        0177: set_object m4 Z_angle_to 6@
        
        // 
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset -7.1 -1.2 -0.93
        0E01: create_object_no_save 342 at 1@ 2@ 3@ offset 0 ground 0 to Grenade
        08D2: object Grenade scale_model 1.2
        0177: set_object Grenade Z_angle_to 6@
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset -7.1 -2.2 -0.67
        0E01: create_object_no_save 363 at 1@ 2@ 3@ offset 0 ground 0 to Satchel
        0177: set_object Satchel Z_angle_to 6@
        
        // 
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset -6.3 -4.7 -0.7
        0E01: create_object_no_save 1242 at 1@ 2@ 3@ offset 0 ground 0 to Armor
        6@ += 270.0
        08D2: object Armor scale_model 1.5
        0177: set_object Armor Z_angle_to 6@
        
        //   
        model.Destroy(346)
        model.Destroy(347)
        model.Destroy(348)
        model.Destroy(372)
        model.Destroy(352)
        model.Destroy(349)
        model.Destroy(350)
        model.Destroy(351)
        model.Destroy(342)
        model.Destroy(363)
        model.Destroy(1242)
        model.Destroy(353)
        model.Destroy(357)
        model.Destroy(358)
        model.Destroy(355)
        model.Destroy(356)
        model.Destroy(18045)
        model.Destroy(18048)
        model.Destroy(18062)
        model.Destroy(18044)
        model.Destroy(2358)
        
        Process = 0 //  
        
        016A: fade 1 time 300 //  

        repeat
        wait 0
        if
            player.Defined(0)
        then
            0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 0.0 0.0 0.0
            09E5: create_flash_light_at 1@ 2@ 3@ RGB_mask 255 255 255 radius 25.0 //  ,    
            
        //   
        if
            Process == 0
        then
            gosub @Camera_Position
            015F: set_camera_position 1@ 2@ 3@ rotation 0.0 0.0 0.0
            0160: set_camera_point_at 4@ 5@ 6@ switchstyle 2
            gosub @Price
        end
        
        //     ,     ,        
        if and
            Process == 0
            $AMMU_SELLER_ANIMATION_TIME >= 0.1
            not $AMMU_SELECTED_WEAPON_MODEL == 0
        then
            gosub @CHeck_added
            if
                1@ == true
            then
                gosub @Camera_Position_Gun
                gosub @Camera_Move
                0176: 9@ = object 10@(Weapon_show,1i) Z_angle
                0@ = 1.0
                timera = 0
                Process = 1
            else
                0A92: stream_custom_script "Ammunition Seller Added.qa" Background Sniper
                wait 1000

                repeat
                wait 0
                0AAA: 1@ = get_script_struct_named "Ammsqa3"
                until 1@ == 0
                
                repeat
                wait 0
                0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 0.0 0.0 0.0
                09E5: create_flash_light_at 1@ 2@ 3@ RGB_mask 255 255 255 radius 25.0 //  ,    
                until $AMMU_STAGE == 6
                continue
            end
        end

        //    ,       .       
        if and
            $AMMU_STAGE == 7
            Process == 1
        then
            gosub @Camera_Position_Gun
            gosub @Weapon_rotate
            015F: set_camera_position 1@ 2@ 3@ rotation 0.0 0.0 0.0
            0160: set_camera_point_at 4@ 5@ 6@ switchstyle 1
            if or
                00E1:   player 0 pressed_key 15 // F/Enter
                $AMMU_SELLER_ANIMATION_TIME >= 0.1
            then
                0453: set_object 10@(Weapon_show,1i) XY_rotation 0.0 0.0 angle 9@
                Process = 2
            end
        end
        
        //      
        if
            Process == 2
        then
            gosub @Camera_Position
            gosub @Camera_Move
            Process = 3
            0@ = 0.8
            timera = 0
            if and
                not Weapon_show == 13
                not Weapon_show == 14
                not Weapon_show == 15
            then
                Move_Weapon = Move_Weapon_Step
                Move_Weapon += 1
            else
                Move_Weapon = 0
            end
        end
        
        //    ,     
        if and
            $AMMU_STAGE == 6
            Process == 3
        then
            Move_Weapon = 0
            process = 0
            if and
                not Weapon_show == 13
                not Weapon_show == 14
                not Weapon_show == 15
            then
                08D2: object 10@(Weapon_show,1i) scale_model 1.0
            end
            if and
                not Weapon_show == 13
                not Weapon_show == 14
                not Weapon_show == 15
            then
                01BC: put_object 10@(Weapon_show,1i) at 26@ 27@ 28@
            end
        end
        
        //   ,    ,           
        if and
            Process == 1
            Move_Weapon <= Move_Weapon_Step
            not Move_Weapon == 0
        then
            Move_Weapon += 1
            gosub @Weapon_size
            0400: store_coords_to 1@ 2@ 3@ from_object 10@(Weapon_show,1i) with_offset 0.0 0.015 0.0
            01BC: put_object 10@(Weapon_show,1i) at 1@ 2@ 3@
        end
        
        //       ,  
        if and
            Move_Weapon <= Move_Weapon_Step_2
            Move_Weapon >= Move_Weapon_Step
            Process == 3
        then
            Move_Weapon += 1
            gosub @Weapon_size
            0400: store_coords_to 1@ 2@ 3@ from_object 10@(Weapon_show,1i) with_offset 0.0 -0.015 0.0
            01BC: put_object 10@(Weapon_show,1i) at 1@ 2@ 3@
        end
        
        // 
        if and
            $AMMU_STAGE == 5 //   
            00E1:   player 0 pressed_key 15
        then
            break
        end
        
        //     -    ,   .
        else
            break
        end
        until $AMMU_STAGE == 2 // 2 -                   
        0AE0: remove_text_label "PORQA"
        02EB: restore_camera_with_jumpcut
        object.Destroy(Background)
        object.Destroy(COlt45)
        object.Destroy(Silenced)
        object.Destroy(Deagle)
        object.Destroy(Micro_UZ)
        object.Destroy(tec9)
        object.Destroy(mp5)
        object.Destroy(Chromegun)
        object.Destroy(SawnOff)
        object.Destroy(Spas)
        object.Destroy(Rifle)
        object.Destroy(Sniper)
        object.Destroy(AK47)
        object.Destroy(M4)
        object.Destroy(Armor)
        object.Destroy(Grenade)
        object.Destroy(Satchel)
        // 16    1  .
        end
    end
end

//       
:Camera_Position
0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset 3.0 0.5 0.7
0400: store_coords_to 4@ 5@ 6@ from_object Background with_offset 7.1 3.2 -0.2
if
    $AMMU_STAGE >= 6
then
    if or
        $9633  == 48 // 
        $9633  == 16 // 
    then
        0400: store_coords_to 1@ 2@ 3@ from_object Background with_offset -3.5 1.5 0.0
        0400: store_coords_to 4@ 5@ 6@ from_object Background with_offset -6.8 -4.0 -0.5
    end
end
return

//   .       . Weapon_show -   10@(Weapon_show,1i)
:Camera_Position_Gun
4@ = 0.4
5@ = 1.7
6@ = 0.1

// 
if $AMMU_SELECTED_WEAPON_MODEL == 346
then
    Weapon_show = 0
end
if $AMMU_SELECTED_WEAPON_MODEL == 347
then
    6@ = 0.15
    Weapon_show = 1
end
if $AMMU_SELECTED_WEAPON_MODEL == 348
then
    6@ = 0.15
    Weapon_show = 2
end

// 
if $AMMU_SELECTED_WEAPON_MODEL == 352
then
    6@ = 0.2
    Weapon_show = 3
end
if $AMMU_SELECTED_WEAPON_MODEL == 372
then
    6@ = 0.2
    Weapon_show = 4
end
if $AMMU_SELECTED_WEAPON_MODEL == 353
then
    6@ = 0.3
    Weapon_show = 5
end

// 
if $AMMU_SELECTED_WEAPON_MODEL == 349
then
    6@ = 0.4
    Weapon_show = 6
end
if $AMMU_SELECTED_WEAPON_MODEL == 350
then
    6@ = 0.3
    Weapon_show = 7
end
if $AMMU_SELECTED_WEAPON_MODEL == 351
then
    6@ = 0.45
    Weapon_show = 8
end

// 
if $AMMU_SELECTED_WEAPON_MODEL == 357
then
    6@ = 0.4
    Weapon_show = 9
end
if $AMMU_SELECTED_WEAPON_MODEL == 358
then
    6@ = 0.4
    Weapon_show = 10
end

//  
if $AMMU_SELECTED_WEAPON_MODEL == 355
then
    6@ = 0.4
    Weapon_show = 11
end
if $AMMU_SELECTED_WEAPON_MODEL == 356
then
    6@ = 0.4
    Weapon_show = 12
end

// 
if $AMMU_SELECTED_WEAPON_MODEL == 373
then
    6@ = 0.2
    5@ -= 0.2
    Weapon_show = 13
end

// 
if $AMMU_SELECTED_WEAPON_MODEL == 342
then
    6@ = -0.1
    5@ = -1.1
    Weapon_show = 14
end
if $AMMU_SELECTED_WEAPON_MODEL == 363
then
    6@ = -0.1
    5@ = -1.2
    Weapon_show = 15
end

//          
if and
    process == 0
    not Weapon_show == 13
    not Weapon_show == 14
    not Weapon_show == 15
then
    0400: store_coords_to 26@ 27@ 28@ from_object 10@(Weapon_show,1i) with_offset 0.0 0.0 0.0 //  .  
    Move_Weapon = 1
end

0400: store_coords_to 1@ 2@ 3@ from_object 10@(Weapon_show,1i) with_offset 4@ 5@ 0.1
0400: store_coords_to 4@ 5@ 6@ from_object 10@(Weapon_show,1i) with_offset 6@ 0.0 0.0
return

//    , ,   . .     
:Weapon_size
if
    process == 1
then
    if or
        Weapon_show == 6
        Weapon_show == 8
        Weapon_show == 9
        Weapon_show == 10
        Weapon_show == 11
        Weapon_show == 12
    then
        if
            timera > 10
        then
            0@ -= 0.005
                if 0@ < 0.8
                then 0@ = 0.8
                end
            timera = 0
        end
            08D2: object 10@(Weapon_show,1i) scale_model 0@
    end
else
    if
        process == 3
    then
        if or
            Weapon_show == 6
            Weapon_show == 8
            Weapon_show == 9
            Weapon_show == 10
            Weapon_show == 11
            Weapon_show == 12
        then
            if
                timera > 10
            then
                0@ += 0.005
                    if 0@ > 1.0
                    then 0@ = 1.0
                    end
                timera = 0
            end
            08D2: object 10@(Weapon_show,1i) scale_model 0@
        end
    end
end
return

//   
:Weapon_rotate
0A4A: store_joystick_X_offset_to 1@ Y_offset_to 2@ // X -    - ,     Z
if
    1@ > 0.5
then
    0176: 2@ = object 10@(Weapon_show,1i) Z_angle
    1@ /= 2.0
    005B: 2@ += 1@  // (float)
    0453: set_object 10@(Weapon_show,1i) XY_rotation 0@ 0.0 angle 2@
else
    if
        1@ < -0.5
    then
        0176: 2@ = object 10@(Weapon_show,1i) Z_angle
        1@ /= 2.0
        1@ *= -1.0
        0063: 2@ -= 1@  // (float)
        0453: set_object 10@(Weapon_show,1i) XY_rotation 0@ 0.0 angle 2@
    end
end
0A4A: store_joystick_X_offset_to 2@ Y_offset_to 1@ // Y -   - ,     X
if 
    1@ > 0.5
then
    0176: 3@ = object 10@(Weapon_show,1i) Z_angle
    1@ /= 2.0
    005B: 0@ += 1@  // (float)
        if 0@ > 89.0
        then 0@ = 89.0 //    ,  
        end
    0453: set_object 10@(Weapon_show,1i) XY_rotation 0@ 0.0 angle 3@
else
    if 
        1@ < -0.5
    then
        0176: 3@ = object 10@(Weapon_show,1i) Z_angle
        1@ /= 2.0
        1@ *= -1.0
        0063: 0@ -= 1@  // (float)
            if 0@ < -89.0
            then 0@ = -89.0 //    ,  
            end
        0453: set_object 10@(Weapon_show,1i) XY_rotation 0@ 0.0 angle 3@
    end
end
return

//   .    
:Camera_Move
015F: set_camera_position 1@ 2@ 3@ rotation 0.0 0.0 0.0
0160: set_camera_point_at 4@ 5@ 6@ switchstyle 1
return

//   .    
:Price
if
    08B7:   test Bit_settings bit 1
then
    for 0@ = 0 to 15 step 1
0984: 5@ = object 10@(0@,1i) model
if 5@ == 346
then 5@ = 22
end
if 5@ == 347
then 5@ = 23
end
if 5@ == 348
then 5@ = 24
end
if 5@ == 349
then 5@ = 25
end
if 5@ == 350
then 5@ = 26
end
if 5@ == 351
then 5@ = 27
end
if 5@ == 352
then 5@ = 28
end
if 5@ == 353
then 5@ = 29
end
if 5@ == 372
then 5@ = 32
end
if 5@ == 355
then 5@ = 30
end
if 5@ == 356
then 5@ = 31
end
if 5@ == 357
then 5@ = 33
end
if 5@ == 358
then 5@ = 34
end
if 5@ == 1242
then 5@ = 48 //  weapon id 
end
if 5@ == 342
then 5@ = 16
end
if 5@ == 363
then 5@ = 39
end
    0761: get_shopping_item_with_textureCRC 5@ price_to 5@
    0400: store_coords_to 1@ 2@ 3@ from_object 10@(0@,1i) with_offset 0.2 0.0 0.3
    if
        0E3F: convert_3d_to_screen_2d 1@ 2@ 3@ checkNearClip 1 checkFarClip 1 store_2d_to 1@ 2@ size_to 3@ 4@
    then
        3@ *= 0.5
        4@ *= 0.5
        033F: set_text_draw_letter_size 3@ 4@
        0342: set_text_draw_centered 1
        0348: enable_text_draw_proportional 1
        03E0: draw_text_behind_textures 1
        081C: draw_text_outline 1 RGBA 0 0 0 100
        0340: set_text_draw_RGBA 255 255 255 250
        0349: set_text_draw_font 3
        045A: draw_text_1number 1@ 2@ GXT "PORQA" number 5@  // ALL RACES WON!~n~~w~$~1~
        03F0: enable_text_draw 0
    end
end
end
return

    
:CHeck_added
1@ = false
// 
if or
    $AMMU_SELECTED_WEAPON_MODEL == 346
    $AMMU_SELECTED_WEAPON_MODEL == 347
    $AMMU_SELECTED_WEAPON_MODEL == 348
    $AMMU_SELECTED_WEAPON_MODEL == 352
    $AMMU_SELECTED_WEAPON_MODEL == 372
    $AMMU_SELECTED_WEAPON_MODEL == 353
then
    1@ = true
end

if or
    $AMMU_SELECTED_WEAPON_MODEL == 349
    $AMMU_SELECTED_WEAPON_MODEL == 350
    $AMMU_SELECTED_WEAPON_MODEL == 351
    $AMMU_SELECTED_WEAPON_MODEL == 357
    $AMMU_SELECTED_WEAPON_MODEL == 358
    $AMMU_SELECTED_WEAPON_MODEL == 355
then
    1@ = true
end

if or
    $AMMU_SELECTED_WEAPON_MODEL == 356
    $AMMU_SELECTED_WEAPON_MODEL == 373
    $AMMU_SELECTED_WEAPON_MODEL == 342
    $AMMU_SELECTED_WEAPON_MODEL == 363
    $AMMU_SELECTED_WEAPON_MODEL == 358
    $AMMU_SELECTED_WEAPON_MODEL == 355
then
    1@ = true
end

return